package pkg

import (
	"fmt"
	"github.com/smartwalle/alipay/v3"
	"order_srv/appconfig"
)

//type Pay interface {
//	Pay(Subject, TradeNo, Amount string) string
//}
//type Alipay struct {
//	AppId     string
//	Key       string
//	NotifyURL string
//	ReturnURL string
//}
//
//func NewAlipay() *Alipay {
//	return &Alipay{
//		AppId:     appconfig.Conf.Alipay.AppId,
//		Key:       appconfig.Conf.Alipay.Key,
//		NotifyURL: "https://71b25bfc.r39.cpolar.top",
//		ReturnURL: "https://gitee.com/dujiachang/order666",
//	}
//
//}

func Alipay() string {
	var privateKey = appconfig.Conf.Alipay.Key // 必须，上一步中使用 RSA签名验签工具 生成的私钥
	var client, err = alipay.New(appconfig.Conf.Alipay.AppId, privateKey, false)
	if err != nil {
		fmt.Println(err)
		return ""
	}

	var p = alipay.TradeWapPay{}
	p.NotifyURL = "http://xxx"
	p.ReturnURL = "http://xxx"
	p.Subject = "慕课网"
	p.OutTradeNo = "传递一个唯一单号"
	p.TotalAmount = "10.00"
	p.ProductCode = "QUICK_WAP_WAY"

	url, err := client.TradeWapPay(p)
	if err != nil {
		fmt.Println(err)
	}

	// 这个 payURL 即是用于打开支付宝支付页面的 URL，可将输出的内容复制，到浏览器中访问该 URL 即可打开支付页面。
	var payURL = url.String()
	fmt.Println(payURL)
	return payURL
}
